[MASTER]
# Check docstring completeness
load-plugins = pylint.extensions.docparams, pylint.extensions.docstyle

# Unit tests have a special configuration which is checked separately
ignore = tests/garage, benchmarks

# Go as fast as you can
jobs = 0

# Packages which we need to load so we can see their C extensions
extension-pkg-whitelist =
    numpy.random,
    mpi4py.MPI,


[MESSAGES CONTROL]
enable = all
disable =
    # Style rules handled by yapf/flake8/isort
    bad-continuation,
    invalid-name,
    line-too-long,
    wrong-import-order,
    # Class must have 2 public methods seems arbitary
    too-few-public-methods,
    # Algorithms and neural networks generally have a lot of variables
    too-many-instance-attributes,
    too-many-arguments,
    too-many-locals,
    # Detection seems buggy or unhelpful
    duplicate-code,
    # Allow more readable code
    no-else-return,
    # Discourages small interfaces
    too-few-public-methods,

[REPORTS]
msg-template = {path}:{line:3d},{column}: {msg} ({symbol})
output-format = colorized


[TYPECHECK]
# Packages which might not admit static analysis because they have C extensions
generated-members = torch.*


[PARAMETER_DOCUMENTATION]
# Docstrings are required and should be complete
accept-no-param-doc=no
accept-no-raise-doc=no
accept-no-return-doc=no
accept-no-yields-doc=no
default-docstring-type=google
